<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        // 创建pronist实例
        const p1 = new Promise((resolve,reject) => {
            try{
                console.log('请求a开始....');
                // 设置定时器 模拟ajax
                setTimeout(() => {
                    console.log('请求a结束');
                    resolve('a成功')
                },2000);
            }catch(e){
                reject(e.messsage)
            }
        })
        const p2 = new Promise((resolve,reject)=>{
            try{
                console.log('请求b开始....');
                // 设置定时器 模拟ajax
                setTimeout(() => {
                    console.log('请求b结束');
                    resolve('b成功')
                },2000);
            }catch(e){
                reject(e.messsage)
            }
        })
        const p3 = new Promise((resolve,reject)=>{
            try{
                console.log('请求c开始....');
                // 设置定时器 模拟ajax
                setTimeout(() => {
                    console.log('请求c结束');
                    resolve('c成功')
                },2000);
            }catch(e){
                reject(e.messsage)
            }
        })
        // promist.all方法
        // 1.接受一个数组作为参数(原则上是iterable类型)
        // 2.all方法默认返回pending状态的promise实例
        // 3.当所有的promise实例全部完成,返回fulfilled状态的实例,值为所有成功的值组成的数组
        // 4. 当其中有一个promise实例执行失败,则all方法返回失败的promise实例,值是这个错误值
        const result = Promise.all([p1,p2,p3])

        console.log("result", result);
        result.then(value =>{
            console.log('okkkkk');
        })
        .catch(reason=>{
            console.log('你错啦',reason);
        })
    </script>
</body>
</html>